Python调用SDK示例

更新时间:

本文介绍如何使用阿里云Python语言SDK开发包,调用云原生数据仓库AnalyticDB PostgreSQL版的DescribeDBInstances接口(查询实例列表)。

查看OpenAPI文档

在调用OpenAPI前,建议您先阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等,更多信息请参见API概览

创建RAM用户并完成授权

如您已创建RAM用户且已完成授权,可跳过此步骤。

  1. 创建RAM用户:

    1. 访问RAM用户列表,单击创建用户

    2. 设置登录名称adbpg-openapi-operator,选择访问方式使用永久 AccessKey 访问

    3. 单击确定,创建RAM用户并保存AccessKey ID与AccessKey Secret信息。

  2. 完成授权:

    1. 访问RAM用户列表,单击目标RAM用户操作列的添加权限

    2. 在文本框中搜索AliyunGPDB,选择AliyunGPDBReadOnlyAccess策略。

      说明

      AliyunGPDBReadOnlyAccess策略拥有查询AnalyticDB PostgreSQL版实例的操作权限,您也可以按需选择AliyunGPDBFullAccess权限(具有查询、修改AnalyticDB PostgreSQL版实例的完全控制权限)或进行自定义策略,更多信息请参见创建自定义权限策略

    3. 单击确定,完成授权操作。

调用OpenAPI

本文介绍阿里云Python语言SDK方式调用OpenAPI,其他语言SDK的用法也类似,更多信息请参见云原生数据仓库AnalyticDB PostgreSQL版SDK

准备Python环境

下载并安装Python 3。如您已安装Python,查看Python版本的命令示例:python --version

配置环境变量

配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

  • Linux和macOS系统:将以下命令中的<access_key_id><access_key_secret>替换为您自己的AccessKey ID和AccessKey Secret,然后在终端设备中逐条运行。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>
  • Windows系统:新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。

安装依赖

在终端设备中,逐条运行如下命令,安装环境依赖。

pip install alibabacloud_credentials
pip install alibabacloud_gpdb20160503
pip install alibabacloud_tea_console

下载示例代码

  1. 访问DescribeDBInstances,进入该接口在OpenAPI门户的调试地址。

  2. 在左侧的参数配置页签,填写需要的参数信息,本示例需在RegionId参数中输入cn-hangzhou

  3. 在右侧的SDK示例页签,选择Python语言,单击下载完整工程按钮,下载示例代码包。

  4. 本地解压并进入alibabacloud_sample目录。

运行代码

执行以下命令。

python sample.py

返回示例如下。

[
  LOG
] {
  "headers":{
    "date":"Fri, 04 Aug 2023 07:53:15 GMT",
    "content-type":"application/json;charset=utf-8",
    "content-length":"1530","connection":"keep-alive",
    "keep-alive":"timeout=25","vary":"Accept-Encoding",
    "access-control-allow-origin":"*",
    "access-control-expose-headers":"*",
    "x-acs-request-id":"22996ADD-A917-5F47-AA7E-2D9A08****",
    "x-acs-trace-id":"a1f567557dc98fb5f368346302e6****",
    "etag":"1rgk9Fbs7Z+HYg9IhB1****"
  },
  "statusCode":200,
  "body":{
    "Items":{
      "DBCluster":[
        {
         "CreateTime":"2023-07-31T07:09:32Z",
         "DBInstanceCategory":"Basic",
         "DBInstanceDescription":"gp-bp1j20nrgf91****",
         "DBInstanceId":"gp-bp1j20nrgf91****",
         "DBInstanceMode":"StorageElastic",
         "DBInstanceNetType":"2",
         "DBInstanceStatus":"Running",
         "Engine":"gpdb",
         "EngineVersion":"6.0",
         "ExpireTime":"2023-08-31T16:00:00Z",
         "InstanceDeployType":"cluster",
         "InstanceNetworkType":"VPC",
         "LockMode":"Unlock",
         "LockReason":"0",
         "MasterNodeNum":1,
         "PayType":"Prepaid",
         "RegionId":"cn-hangzhou",
         "ResourceGroupId":"rg-acfmz7u4zzr****",
         "SegNodeNum":"2",
         "StorageSize":"50",
         "StorageType":"cloud_essd",
         "Tags":{"Tag":[]},
         "VSwitchId":"vsw-bp1sxxsodv28ey5****",
         "VpcId":"vpc-bp1ov7as4yvz4kxei****",
         "ZoneId":"cn-hangzhou-j"
        }
      ]
    },
    "PageNumber":1,
    "PageRecordCount":1,
    "RequestId":"22996ADD-A917-5F47-AA7E-2D9A08AF1AC2",
    "TotalRecordCount":1
  }
}